package com.example.demo.common;


/**
 * API响应结果封装类
 * 统一API接口返回格式
 */
public class Result {
    /**
     * 响应状态码（200成功，500失败等）
     */
    private String code;
    /**
     * 响应消息描述
     */
    private String msg;
    /**
     * 响应数据对象
     */
    private Object data;

    /**
     * 创建成功响应（无数据）
     * @return Result对象，状态码200，消息success
     */
    public static Result success(){
        Result result = new Result();
        result.setCode("200");
        result.setMsg("success");
        return result;
    }

    /**
     * 创建成功响应（带数据）
     * @param data 响应数据对象
     * @return Result对象，状态码200，消息success，包含数据
     */
    public static Result success(Object data){
        Result result = success();
        result.setData(data);
        return result;
    }

    /**
     * 创建失败响应
     * @return Result对象，状态码500，消息error
     */
    public static Result error(){
        Result result = new Result();
        result.setCode("500");
        result.setMsg("error");
        return result;
    }
    /**
     * 创建失败响应（自定义消息）
     * @param msg 自定义失败消息
     * @return Result对象，状态码500，自定义消息
     */
    public static Result error(String msg){
        Result result = error();
        result.setMsg(msg);
        return result;
    }
    /**
     * 创建失败响应（自定义状态码和消息）
     * @param code 自定义状态码
     * @param msg 自定义失败消息
     * @return Result对象，自定义状态码和消息
     */
    public static Result error(String code, String msg){
        Result result = error();
        result.setCode(code);
        result.setMsg(msg);
        return result;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}
